package com.itheima.d6_map_traverse;

import java.util.*;

/*
     目标：完成Map集合的案例：统计投票人数。

     需求
        某个班级80名学生，现在需要组织秋游活动，班长提供了四个景点依次是（A、B、C、D）
        每个学生只能选择一个景点，请统计出最终哪个景点想去的人数最多。

     分析
        将80个学生选择的数据拿到程序中去，[A,A,B,A,B,C,D,...]
        准备一个Map集合用于存储统计的结果，Map<String，Integer>，键是景点，值代表投票数量。
        遍历80个学生选择的景点，每遍历一个景点，就看Map集合中是否存在该景点，不存在存入“景点=1“，存在则其对应值+1,
 */
public class MapDemo4 {
    public static void main(String[] args) {

        List<String> list = new ArrayList<>();
        Collections.addAll(list, "A", "B", "A", "A", "B", "C", "D", "B", "A", "A", "B", "C", "D", "B", "A", "A", "B", "C", "D", "B", "A", "A", "B", "C", "D");

        Map<String, Integer> map = new HashMap<>();
        for (int i = 0; i < list.size(); i++) {
            if (map.containsKey(list.get(i))) {
                for (String key : map.keySet()) {
                    if (list.get(i).equals(key)) {
                        map.put(key, map.get(key) + 1);
                    }
                }
            }else {
                map.put(list.get(i), 1);
            }
        }


        map.forEach((String key, Integer value) -> {
            System.out.println("键为："+key + "-->" + value);
        });

    }
}
